package com.cola.proxy;

import javax.swing.*;
import java.io.ObjectInputStream;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;

/**
 * @Grup:com.cola.proxy
 * @Auther:cola
 * @Data:2021/4/7-2021-04-12:25
 * @version:1.0
 */
public class CreateProxy implements InvocationHandler {
    private Object target;//被代理的对象
    //用与创建代理对象的方法
    public Object create(Object target){
        this.target=target;
        Object proxy = Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), this);
        return proxy;
    }
    /*
    * 代理对象要执行的方法
    * */
    @Override
    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
        System.out.println("上海外寻找客户需要的产品!");
        System.out.println("和客户确定物品!");
        method.invoke(target,args);
        System.out.println("完成本次海淘");
        return null;
    }
}
